Memory systems are used in a variety of applications, such as computer systems, telecommunications, and control systems. Dynamic random access memory (DRAM) is a common type of memory used in such systems. DRAM is often synchronous (SDRAM), in that one or more of the memory's inputs or outputs are synchronized with an external clock. This allows for very tight control of the information being transferred by providing and receiving the information based on setup and hold times relative to the clock.
One type of memory is the Double Data Rate (DDR) SDRAM. Conventional DDR SDRAMs (e.g., DDR-3) utilize an external clock signal as well as multiple data strobe signals for synchronization. In a memory write operation, a controller provides one or more data strobe signals along with the data to be written to the DDR SDRAM so that the SDRAM can sample the data synchronously with respect to the data strobe signal. It is desired to provide improvements to this conventional type of memory. Such improvements may include reduced number of signals, reduced pin count, faster operation, improved consistency, and so forth.
Propagation delays are also prevalent in conventional memory systems. Given the high rate of operation, the time it takes for a signal to propagate from one location to another can have very important effects on the timing of a memory transfer. It is desired to provide improvements to better account for propagation delays.
Other external variables must also be considered for conventional memory systems. For example, variations in processing (e.g., fabrication) characteristics, voltage, and temperature can have very important effects on the timing of a memory transfer. It is desired to provide improvements to better account for external variables.
What is needed is a memory controller, memory device, memory system, and method for operation in a memory system that provide one or more of the above-listed improvements.